package ysq.xyg.recovery.service;

import ysq.xyg.base.model.dto.ReturnEntity;
import ysq.xyg.base.service.BaseService;
import ysq.xyg.recovery.model.po.PowerMember;
import ysq.xyg.sys.model.po.SysUser;
import ysq.xyg.recovery.model.vo.PowerMemberVo;

import java.util.List;

/**
 * 回收金模块-权限用户表service接口
 *
 * @author congcong tao
 * @date 2019-9-18 15:15:22
 */
public interface PowerMemberService extends BaseService<PowerMember> {

    /**
     * 分页查询
     *
     * @param powerMemberVo 对象
     * @param pageSize 当前页面
     * @param pageNum 页面数量
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-9-18 15:15:22
     */
    ReturnEntity page(PowerMemberVo powerMemberVo, int pageSize, int pageNum);

    /**
     * 修改
     *
     * @param powerMemberVo 对象
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-9-18 15:15:22
     */
    ReturnEntity addOrUpdate(PowerMemberVo powerMemberVo, SysUser currentUser);

    /**
     * 删除
     *
     * @param id 主键id删除
     * @param currentUser 当前用户
     * @return ReturnEntity 对象
     * @author congcong tao
     * @date 2019-9-18 15:15:22
     */
    ReturnEntity delete(String id, SysUser currentUser);

    /**
     * 获取集合
     *
     * @param powerMemberVo 对象
     * @return List<PowerMember> PowerMember集合
     * @author congcong tao
     * @date 2019-9-18 15:15:22
     */
    List<PowerMember> acceptList(PowerMemberVo powerMemberVo);

    /**
     * 查询回收权限
     * @param type 回收权限，1=预约2=兑换3=提现
     * @author congcong tao
     * @date 2019/9/20 16:47
     */
    String selectOpenIdByType(String type);
}
